<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>SOSO_Loader</title>
<link href="../css/ea.css" rel="stylesheet" type="text/css" />
<script>
function initPage(src) {
	if(parent==this&&(this.location+"").indexOf('EARoot')!=-1)
		document.location=(this.location+"").substring(0,(this.location+"").indexOf('EARoot'))+"index"+(this.location+"").substring((this.location+"").lastIndexOf('.'))+"?goto="+((this.location+"").substring((this.location+"").indexOf('EARoot')+7,(this.location+"").lastIndexOf('.')).replace(/\//g,':').replace(/EA/g,""));
	else
		parent.initPage(src);
}
</script>
</head>
<body onload="initPage(this);" class="Content">
<div class="pageHeader"></div>
<div class="PageBody">
	<span class="ObjectTitle">SOSO_Loader  : public   class</span>
	<table border="0" cellpadding="0" cellspacing="0" class="ObjectDetails">
		<tr>
			<td width="15%" class="ObjectDetailsTopic">Created:</td>
			<td width="85%" class="ObjectDetailsValue">2009-7-22 11:03:54</td>
		</tr>
		<tr>
			<td class="ObjectDetailsTopic">Modified:</td>
			<td class="ObjectDetailsValue">2009-7-22 11:03:54</td>
		</tr>
		<tr style="height: 10px"><td colspan="2"></td></tr>
		<tr>
			<td class="ObjectDetailsTopic"><img src="../images/plus03.gif" align="absmiddle" id="proj" onclick="parent.toggleData(this.id)" />Project:</td>
			<td class="ObjectDetailsValue"></td>
		</tr>
		<tr id="proj00" style="display: none;">
			<td class="ObjectDetailsTopic" style="padding-left: 18px;">Author:</td>
			<td class="ObjectDetailsValue">moonzhang</td>
		</tr>
		<tr id="proj01" style="display: none;">
			<td class="ObjectDetailsTopic" style="padding-left: 18px;">Version:</td>
			<td class="ObjectDetailsValue">1.0</td>
		</tr>
		<tr id="proj02" style="display: none;">
			<td class="ObjectDetailsTopic" style="padding-left: 18px;">Phase:</td>
			<td class="ObjectDetailsValue">1.0</td>
		</tr>
		<tr id="proj03" style="display: none;">
			<td class="ObjectDetailsTopic" style="padding-left: 18px;">Status:</td>
			<td class="ObjectDetailsValue">Proposed</td>
		</tr>
		<tr id="proj04" style="display: none;">
			<td class="ObjectDetailsTopic" style="padding-left: 18px;">Complexity:</td>
			<td class="ObjectDetailsValue">Easy</td>
		</tr>
		<tr>
			<td class="ObjectDetailsTopic"><img src="../images/plus03.gif" align="absmiddle" id="adv" onclick="parent.toggleData(this.id)" />Advanced:</td>
			<td class="ObjectDetailsValue"></td>
		</tr>
		<tr id="adv00" style="display: none;">
			<td class="ObjectDetailsTopic" style="padding-left: 18px;">UUID:</td>
			<td class="ObjectDetailsValue">{51D74C96-A1F4-475b-9FA5-C514F4623802}</td>
		</tr>
		<tr id="adv01" style="display: none;">
			<td class="ObjectDetailsTopic" style="padding-left: 18px;">Appears In:</td>
			<td class="ObjectDetailsValue"><a href="EA1.htm">SOSO</a></td>
		</tr>
	</table>
	<div class="ObjectDetailsNotes">SOSO Framework <br />@category   SOSO<br />@package    SOSO<br />@description 装载类<br />@copyright  Copyright (c) 2007-2008 Soso.com<br /></div>

	<div class="TableGroup" id="TableGroup">
		<ul class="ItemTitle">
			<li onClick="parent.toggleItem('Attributes');" id="AttributesTitle">Attributes</li>
			<li onClick="parent.toggleItem('Operations');" id="OperationsTitle">Operations</li>
		</ul>
<div class="ItemBody" id="AttributesTable">
	<table border="0" cellspacing="0" cellpadding="0" class="Table">
		<tr>
			<td width="40%" class="TableHeading">Attribute</td>
			<td width="60%" class="TableHeading">Details</td>
		</tr>
						<tr>
				<td width="40%" class="TableRow" valign="top"><i>public static var</i><br /><strong>&nbsp;&nbsp;cacher</strong></td>
				<td width="60%" class="TableRow" valign="top"><i></i><div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			缓存器 &lt;br /&gt;@var SOSO_Cache
		</td>
	</tr>
</table></div>
</td>
			</tr>			<tr>
				<td width="40%" class="TableRow" valign="top"><i>public static var</i><br /><strong>&nbsp;&nbsp;loadedFilesHash</strong></td>
				<td width="60%" class="TableRow" valign="top"><i><i>Initial:</i> array()<br></i>&nbsp;</td>
			</tr>			<tr>
				<td width="40%" class="TableRow" valign="top"><i>public static var</i><br /><strong>&nbsp;&nbsp;new_class_found</strong></td>
				<td width="60%" class="TableRow" valign="top"><i><i>Initial:</i> false<br></i>&nbsp;</td>
			</tr>			<tr>
				<td width="40%" class="TableRow" valign="top"><i>public static var</i><br /><strong>&nbsp;&nbsp;prependFilesCache</strong></td>
				<td width="60%" class="TableRow" valign="top"><i></i>&nbsp;</td>
			</tr>
		</table>
</div><div class="ItemBody" id="OperationsTable">
	<table border="0" cellspacing="0" cellpadding="0" class="Table">
		<tr>
			<td width="40%" class="TableHeading">Operation</td>
			<td width="60%" class="TableHeading">Details</td>
		</tr>
						<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>_autoload</strong>(<br />
					<a href="#" onclick="parent.toggleData('param{9CE4D7E4-43B0-4616-B227-F2E04BAE6D09}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{9CE4D7E4-43B0-4616-B227-F2E04BAE6D09}" border="0" />package: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{9CE4D7E4-43B0-4616-B227-F2E04BAE6D09}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td></td>
						</tr>
						<tr id="param{9CE4D7E4-43B0-4616-B227-F2E04BAE6D09}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{9CE4D7E4-43B0-4616-B227-F2E04BAE6D09}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{9CE4D7E4-43B0-4616-B227-F2E04BAE6D09}03" style="display: none;">
							<td width="50"></td>
							<td><div class="ObjectDetailsNotes">updates: 2008-04-11 优化方法, 执行时间由0.04s到0.013s 2008-05-11 再次优化，增加加载cache, 单个请求所用全部加载时间(autoloading)平均在: 一. cache前5-20ms左右 二. cache后 &lt; 0.0001s ( &lt; 1ms ) 2009-10-23 组合使用cache对象(apc/xcache), 对已请求数据进行缓存，代替(默认)原文件cache  btw: 双重循环(O(N2))比使用@include_once效率要高，这或许是因为PHP内部要做太多额外 多余的遍历有关；</div>
</td>
						</tr>
					</table>
):var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			自动加载类库文件，尝试加载用户文件&lt;br /&gt;@param string $package 
		</td>
	</tr>
</table></div>

				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>addFramePath</strong>(<br />
					<a href="#" onclick="parent.toggleData('param{E9217A71-0D9B-4942-B17D-3193EBC42368}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{E9217A71-0D9B-4942-B17D-3193EBC42368}" border="0" />pPath: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{E9217A71-0D9B-4942-B17D-3193EBC42368}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td></td>
						</tr>
						<tr id="param{E9217A71-0D9B-4942-B17D-3193EBC42368}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{E9217A71-0D9B-4942-B17D-3193EBC42368}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{E9217A71-0D9B-4942-B17D-3193EBC42368}03" style="display: none;">
							<td width="50"></td>
							<td><div class="ObjectDetailsNotes">pPath</div>
</td>
						</tr>
					</table>
):var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			添加框架路径配置&lt;br /&gt;@param string $pPath&lt;br /&gt;@return boolean 
		</td>
	</tr>
</table></div>

				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>append</strong>():var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			加载文件
		</td>
	</tr>
</table></div>

				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>getStorage</strong>():var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			Enter description here... &lt;br /&gt;@return SOSO_Cache | LoaderCacher
		</td>
	</tr>
</table></div>

				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>isLoaded</strong>(<br />
					<a href="#" onclick="parent.toggleData('param{90B7C89D-1133-4a37-BAC8-5C7CA2DC7CEF}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{90B7C89D-1133-4a37-BAC8-5C7CA2DC7CEF}" border="0" />pRequest: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{90B7C89D-1133-4a37-BAC8-5C7CA2DC7CEF}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td></td>
						</tr>
						<tr id="param{90B7C89D-1133-4a37-BAC8-5C7CA2DC7CEF}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{90B7C89D-1133-4a37-BAC8-5C7CA2DC7CEF}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{90B7C89D-1133-4a37-BAC8-5C7CA2DC7CEF}03" style="display: none;">
							<td width="50"></td>
							<td></td>
						</tr>
					</table>
					<a href="#" onclick="parent.toggleData('param{929837CD-27FA-4216-B185-08211E141850}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{929837CD-27FA-4216-B185-08211E141850}" border="0" />autoload: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{929837CD-27FA-4216-B185-08211E141850}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td>true</td>
						</tr>
						<tr id="param{929837CD-27FA-4216-B185-08211E141850}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{929837CD-27FA-4216-B185-08211E141850}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{929837CD-27FA-4216-B185-08211E141850}03" style="display: none;">
							<td width="50"></td>
							<td></td>
						</tr>
					</table>
):var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			检查是否在预加载列表中 有条件可用xcache/apc实现 &lt;br /&gt;@param string $pRequest&lt;br /&gt;@param bool $autoload&lt;br /&gt;@return string
		</td>
	</tr>
</table></div>

				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>loadFrameClass</strong>(<br />
					<a href="#" onclick="parent.toggleData('param{79FEE911-F586-4997-9F3B-61A060C9F06B}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{79FEE911-F586-4997-9F3B-61A060C9F06B}" border="0" />pClass: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{79FEE911-F586-4997-9F3B-61A060C9F06B}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td></td>
						</tr>
						<tr id="param{79FEE911-F586-4997-9F3B-61A060C9F06B}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{79FEE911-F586-4997-9F3B-61A060C9F06B}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{79FEE911-F586-4997-9F3B-61A060C9F06B}03" style="display: none;">
							<td width="50"></td>
							<td><div class="ObjectDetailsNotes">pClass</div>
</td>
						</tr>
					</table>
):var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					
				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>loadPackage</strong>(<br />
					<a href="#" onclick="parent.toggleData('param{E1FC557C-1EE8-4c33-AE65-643585DC943E}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{E1FC557C-1EE8-4c33-AE65-643585DC943E}" border="0" />pPackageName: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{E1FC557C-1EE8-4c33-AE65-643585DC943E}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td>'.'</td>
						</tr>
						<tr id="param{E1FC557C-1EE8-4c33-AE65-643585DC943E}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{E1FC557C-1EE8-4c33-AE65-643585DC943E}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{E1FC557C-1EE8-4c33-AE65-643585DC943E}03" style="display: none;">
							<td width="50"></td>
							<td></td>
						</tr>
					</table>
):var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			自动加载特定包&lt;br /&gt;@param string $pPackageName 包名称,以包所在目录名为准&lt;br /&gt;@return void
		</td>
	</tr>
</table></div>

				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>prepend</strong>():var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			预加载相关文件
		</td>
	</tr>
</table></div>

				</td>
			</tr>
			<tr>
				<td width="40%" class="TableRow">
					<i>public static</i><br />
					<strong>registerAutoload</strong>(<br />
					<a href="#" onclick="parent.toggleData('param{8D7DBD01-5C96-4520-B731-73D7A1E3FD14}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{8D7DBD01-5C96-4520-B731-73D7A1E3FD14}" border="0" />pLoader: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{8D7DBD01-5C96-4520-B731-73D7A1E3FD14}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td>'SOSO_Loader'</td>
						</tr>
						<tr id="param{8D7DBD01-5C96-4520-B731-73D7A1E3FD14}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{8D7DBD01-5C96-4520-B731-73D7A1E3FD14}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{8D7DBD01-5C96-4520-B731-73D7A1E3FD14}03" style="display: none;">
							<td width="50"></td>
							<td></td>
						</tr>
					</table>
					<a href="#" onclick="parent.toggleData('param{33BF5D78-9D8F-43c6-B7AA-A3E27F58F624}')" style="text-decoration: none; color: #000000;"><img src="../images/plus03.gif" align="absmiddle" id="param{33BF5D78-9D8F-43c6-B7AA-A3E27F58F624}" border="0" />pMethod: var</a>, 
					<table border="0" cellspacing="0" cellpadding="0" class="Table" style="padding: 4px 18px;">
						<tr id="param{33BF5D78-9D8F-43c6-B7AA-A3E27F58F624}00" style="display: none;">
							<td width="50"><strong>Default:</strong></td>
							<td>'_autoload'</td>
						</tr>
						<tr id="param{33BF5D78-9D8F-43c6-B7AA-A3E27F58F624}01" style="display: none;">
							<td width="50"><strong>Kind:</strong></td>
							<td>in</td>
						</tr>
						<tr id="param{33BF5D78-9D8F-43c6-B7AA-A3E27F58F624}02" style="display: none;">
							<td width="50"><strong>Stereotype: </strong></td>
							<td></td>
						</tr>
						<tr id="param{33BF5D78-9D8F-43c6-B7AA-A3E27F58F624}03" style="display: none;">
							<td width="50"></td>
							<td></td>
						</tr>
					</table>
):var
				</td>
				<td width="60%" class="TableRow">
					<i>Sequential  </i>
					<table>
						<tr>
							<td valign = "top"><i></i><span style="margin-left: .7cm;"> </span></td>
							<td></td>
						</tr>
					</table>
					<div class="ObjectDetailsNotes"><table>
	<tr>
		<td valign="top">
			<i>Notes: </i><span style="margin-left: .4cm;"> </span>
		</td>
		<td>
			注册Autoloading
		</td>
	</tr>
</table></div>

				</td>
			</tr>

		</table>
</div>	</div>
<div class="pageFooter"></div>
 
</body>
</html>